const html = `<!-- left/right splitbar -->
<table width="100%" cellpadding="0" cellspacing="0" style="mso-table-lspace: 0pt; mso-table-rspace: 0pt; border-collapse: collapse;"><tbody><tr>
<td width="50%" align="left" style="padding-left: 4px; font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.55em; mso-table-lspace: 0pt; mso-table-rspace: 0pt; border-collapse: collapse;"><p style="font-size: 12px; color: #999999; text-transform: uppercase; line-height: 1.0em; margin-top: 0.8em; margin-bottom: 0.8em;">#480 — March 20, 2020</p></td>
<td width="50%" align="right" style="padding-right: 4px; font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.55em; mso-table-lspace: 0pt; mso-table-rspace: 0pt; border-collapse: collapse;"><p style="font-size: 12px; text-transform: uppercase; line-height: 1.0em; margin-top: 0.8em; margin-bottom: 0.8em;"><a target="_blank" href="https://javascriptweekly.com/link/85694/web" style="text-decoration: none; color: #3366aa;">Unsubscribe</a>&nbsp;&nbsp;:&nbsp;&nbsp;<a target="_blank" href="https://javascriptweekly.com/link/85695/web" style="text-decoration: none; color: #3366aa;">Read on the Web</a></p></td>
</tr></tbody></table>
<!-- normal content section -->
<table width="100%" cellpadding="0" cellspacing="0" class="content el-content " style="color: #444; mso-table-lspace: 0pt; mso-table-rspace: 0pt; border-collapse: collapse;"><tbody><tr><td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.55em; mso-table-lspace: 0pt; mso-table-rspace: 0pt; border-collapse: collapse; padding: 0px 15px;">
<p style="font-size: 0.9em; line-height: 1.3em; margin-top: 0.8em; margin-bottom: 0.8em;">✍️ We hope you're doing okay in these unusual times. We'll be publishing <em>JavaScript Weekly</em> as usual, but you may notice some changes as we adapt – please hang in there with us 🙂</p>
      
      <p style="font-size: 0.9em; line-height: 1.3em; margin-top: 0.8em; margin-bottom: 0.8em;">If you have anything to share that would help the community, virtual events, etc. you can reply to any issue to let us know and we'll try to share what we can :-)<br><em>— Peter C, your humble editor.</em></p>
</td></tr></tbody></table>
<!-- masthead -->
<table width="100%" cellpadding="0" cellspacing="0" style="background-color: #f7df1e; text-align: center; color: #222222; mso-table-lspace: 0pt; mso-table-rspace: 0pt; border-collapse: collapse;" class="el-masthead"><tbody><tr><td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.55em; mso-table-lspace: 0pt; mso-table-rspace: 0pt; border-collapse: collapse; padding: 0 12px;"><p style="font-size: 1.8em; font-weight: 600; line-height: 1.0em; margin-top: 0.8em; margin-bottom: 0.8em;">JavaScript Weekly</p></td></tr></tbody></table>
<table width="100%" class="el-fullwidthimage" cellpadding="0" cellspacing="0" style="mso-table-lspace: 0pt; mso-table-rspace: 0pt; border-collapse: collapse;"><tbody><tr><td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.55em; mso-table-lspace: 0pt; mso-table-rspace: 0pt; border-collapse: collapse;">
<a target="_blank" href="https://javascriptweekly.com/link/85703/web" style="text-decoration: none; color: #3366aa;"><img src="https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60/wdp6q3sspl8ojqzkfsc6.jpg" alt="" width="640" style="outline: none; height: auto; text-decoration: none; max-width: 100%; line-height: 100%; width: 100%; border: 0;"></a>
</td></tr></tbody></table>

<table width="100%" cellpadding="0" cellspacing="0" class="el-item item  " style="mso-table-lspace: 0pt; mso-table-rspace: 0pt; border-collapse: collapse;"><tbody><tr><td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.55em; mso-table-lspace: 0pt; mso-table-rspace: 0pt; border-collapse: collapse; padding: 0px 15px;">

<p class="desc" style="color: #444; margin-top: 0.8em; margin-bottom: 0; font-size: 1.05em;"><span style="font-weight: 600; font-size: 1.1em; color: #000;" class="mainlink"><a target="_blank" href="https://javascriptweekly.com/link/85703/web" title="github.com" style="text-decoration: none; color: #3366aa; border-bottom-width: 1px !important; border-bottom-color: #ddd !important; border-bottom-style: solid !important; font-size: 1.1em; line-height: 1.4em;">μPlot 1.0: A Fast, Tiny Time Series Chart Library</a></span> — A fast, memory efficient Canvas-based time series plotting library. How fast? Try 150,000 data points in 60ms fast. <a target="_blank" href="https://javascriptweekly.com/link/85704/web" style="text-decoration: none; color: #3366aa; border-bottom-width: 1px !important; border-bottom-color: #ddd !important; border-bottom-style: solid !important;">Lots of demos&nbsp;here</a>.</p>
<p class="name" style="color: #5a5a5a; margin-top: 4px; margin-bottom: 0.8em; text-transform: uppercase; font-size: 12px; line-height: 1.2em;">Leon Sorokin </p>
</td></tr></tbody></table>

<table width="100%" cellpadding="0" cellspacing="0" class="el-item item  " style="mso-table-lspace: 0pt; mso-table-rspace: 0pt; border-collapse: collapse;"><tbody><tr><td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.55em; mso-table-lspace: 0pt; mso-table-rspace: 0pt; border-collapse: collapse; padding: 0px 15px;">

<p class="desc" style="color: #444; margin-top: 0.8em; margin-bottom: 0;"><span style="font-weight: 600; font-size: 1.1em; color: #000;" class="mainlink"><a target="_blank" href="https://javascriptweekly.com/link/85705/web" title="github.blog" style="text-decoration: none; color: #3366aa; border-bottom-width: 1px !important; border-bottom-color: #ddd !important; border-bottom-style: solid !important; font-size: 1.05em;">npm is Joining GitHub</a></span> — This is perhaps the biggest Node news of the year! npm Inc. (including the public repository) is being acquired by GitHub (who you might recall launched their own <a target="_blank" href="https://javascriptweekly.com/link/85706/web" style="text-decoration: none; color: #3366aa; border-bottom-width: 1px !important; border-bottom-color: #ddd !important; border-bottom-style: solid !important;">package registry</a> less than a year ago). Fingers crossed this only means good things for npm. If you want more background, Isaac Z. Schlueter tells <a target="_blank" href="https://javascriptweekly.com/link/85707/web" style="text-decoration: none; color: #3366aa; border-bottom-width: 1px !important; border-bottom-color: #ddd !important; border-bottom-style: solid !important;">his side of the story&nbsp;here.</a></p>
<p class="name" style="color: #5a5a5a; margin-top: 4px; margin-bottom: 0.8em; text-transform: uppercase; font-size: 12px; line-height: 1.2em;">GitHub </p>
</td></tr></tbody></table>

<table width="100%" cellpadding="0" cellspacing="0" class="el-item item  " style="mso-table-lspace: 0pt; mso-table-rspace: 0pt; border-collapse: collapse;"><tbody><tr><td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.55em; mso-table-lspace: 0pt; mso-table-rspace: 0pt; border-collapse: collapse; padding: 0px 15px;">
<a target="_blank" href="https://javascriptweekly.com/link/85696/web" style="text-decoration: none; color: #3366aa; border-bottom-width: 1px !important; border-bottom-color: #ddd !important; border-bottom-style: solid !important;"><img src="https://copm.s3.amazonaws.com/20fd5e89.png" width="166" height="125" style="padding-top: 12px; padding-left: 12px; outline: none; height: auto; text-decoration: none; max-width: 100%; line-height: 100%; border: 0;" align="right" alt="" class="som"></a>
<p class="desc" style="color: #444; margin-top: 0.8em; margin-bottom: 0;"><span style="font-weight: 600; font-size: 1.1em; color: #000;" class="mainlink"><a target="_blank" href="https://javascriptweekly.com/link/85696/web" title="www.site24x7.com" style="text-decoration: none; color: #3366aa; border-bottom-width: 1px !important; border-bottom-color: #ddd !important; border-bottom-style: solid !important; font-size: 1.05em;">Optimize Your Front-End Performance in Real-Time</a></span> — Identify JS errors, errors in AJAX calls, page load time with Site24x7 Real User Monitoring. You can also track your CDN performance, analyze user sessions, measure and reduce resource load time. <a target="_blank" href="https://javascriptweekly.com/link/85696/web" style="text-decoration: none; color: #3366aa; border-bottom-width: 1px !important; border-bottom-color: #ddd !important; border-bottom-style: solid !important;">Sign&nbsp;Up</a>.</p>
<p class="name" style="color: #5a5a5a; margin-top: 4px; margin-bottom: 0.8em; text-transform: uppercase; font-size: 12px; line-height: 1.2em;">Site24x7 <span style="text-transform: uppercase; margin-left: 4px; font-size: 0.9em; border-radius: 2px; background-color: #fffcaa; color: #993 !important; padding: 1px 4px; border: 1px solid #eee455;" class="tag-sponsor">sponsor</span></p>
</td></tr></tbody></table>

<table width="100%" cellpadding="0" cellspacing="0" class="el-item item  " style="mso-table-lspace: 0pt; mso-table-rspace: 0pt; border-collapse: collapse;"><tbody><tr><td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.55em; mso-table-lspace: 0pt; mso-table-rspace: 0pt; border-collapse: collapse; padding: 0px 15px;">

<p class="desc" style="color: #444; margin-top: 0.8em; margin-bottom: 0;"><span style="font-weight: 600; font-size: 1.1em; color: #000;" class="mainlink"><a target="_blank" href="https://javascriptweekly.com/link/85708/web" title="phabricator.wikimedia.org" style="text-decoration: none; color: #3366aa; border-bottom-width: 1px !important; border-bottom-color: #ddd !important; border-bottom-style: solid !important; font-size: 1.05em;">Wikimedia (The Folks Behind Wikipedia) Are Adopting Vue.js</a></span> — Wikimedia will be using Vue for their future front-end development, but no, Wikipedia is <em>not</em> becoming an SPA! This post digs into the how and why of the decision, while on Twitter, Vue.js creator Evan You <a target="_blank" href="https://javascriptweekly.com/link/85709/web" style="text-decoration: none; color: #3366aa; border-bottom-width: 1px !important; border-bottom-color: #ddd !important; border-bottom-style: solid !important;">explains more from his side.</a> Hacker News had <a target="_blank" href="https://javascriptweekly.com/link/85710/web" style="text-decoration: none; color: #3366aa; border-bottom-width: 1px !important; border-bottom-color: #ddd !important; border-bottom-style: solid !important;">a very busy thread</a> on the topic&nbsp;too.</p>
<p class="name" style="color: #5a5a5a; margin-top: 4px; margin-bottom: 0.8em; text-transform: uppercase; font-size: 12px; line-height: 1.2em;">Wikimedia Foundation </p>
</td></tr></tbody></table>

<table width="100%" cellpadding="0" cellspacing="0" class="el-item item  video" style="mso-table-lspace: 0pt; mso-table-rspace: 0pt; border-collapse: collapse;"><tbody><tr><td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.55em; mso-table-lspace: 0pt; mso-table-rspace: 0pt; border-collapse: collapse; padding: 0px 15px;">

<p class="desc" style="color: #444; margin-top: 0.8em; margin-bottom: 0;"><span style="font-weight: 600; font-size: 1.1em; color: #000;" class="mainlink">▶&nbsp;&nbsp;<a target="_blank" href="https://javascriptweekly.com/link/85711/web" title="snipcart.com" style="text-decoration: none; color: #3366aa; border-bottom-width: 1px !important; border-bottom-color: #ddd !important; border-bottom-style: solid !important; font-size: 1.05em;">16 Hand-Picked JavaScript Podcasts Still Running in 2020</a></span> — This is an update of a list originally made in 2018. If you do, somehow, have spare time to listen to podcasts now, this up to date list may be&nbsp;useful.</p>
<p class="name" style="color: #5a5a5a; margin-top: 4px; margin-bottom: 0.8em; text-transform: uppercase; font-size: 12px; line-height: 1.2em;">Mathieu Dionne <span style="text-transform: uppercase; margin-left: 4px; font-size: 0.9em; border-radius: 2px; padding: 1px 4px; border: 1px solid #999999;" class="tag-podcast">podcast</span></p>
</td></tr></tbody></table>

<table width="100%" cellpadding="0" cellspacing="0" class="el-item item  " style="mso-table-lspace: 0pt; mso-table-rspace: 0pt; border-collapse: collapse;"><tbody><tr><td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.55em; mso-table-lspace: 0pt; mso-table-rspace: 0pt; border-collapse: collapse; padding: 0px 15px;">

<p class="desc" style="color: #444; margin-top: 0.8em; margin-bottom: 0;"><span style="font-weight: 600; font-size: 1.1em; color: #000;" class="mainlink"><a target="_blank" href="https://javascriptweekly.com/link/85727/web" title="babeljs.io" style="text-decoration: none; color: #3366aa; border-bottom-width: 1px !important; border-bottom-color: #ddd !important; border-bottom-style: solid !important; font-size: 1.05em;">Babel 7.9.0 Released</a></span> — A new minor release for the popular JavaScript compiler which includes updates related to <code style="background-color: #efc;">@babel/preset-env</code>, TypeScript 3.8, Flow, and&nbsp;JSX.</p>
<p class="name" style="color: #5a5a5a; margin-top: 4px; margin-bottom: 0.8em; text-transform: uppercase; font-size: 12px; line-height: 1.2em;">Nicolò Ribaudo </p>
</td></tr></tbody></table>
<table width="100%" cellpadding="0" cellspacing="0" class="el-subtable " style="background-color: #ffffe4; margin-top: 15px; border-radius: 6px; mso-table-lspace: 0pt; mso-table-rspace: 0pt; border-collapse: collapse;"><tbody><tr><td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.55em; mso-table-lspace: 0pt; mso-table-rspace: 0pt; border-collapse: collapse; padding: 0px;">
<!-- normal content section -->
<table width="100%" cellpadding="0" cellspacing="0" class="content el-content " style="color: #444; mso-table-lspace: 0pt; mso-table-rspace: 0pt; border-collapse: collapse; margin-top: 0 !important;"><tbody><tr><td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.55em; mso-table-lspace: 0pt; mso-table-rspace: 0pt; border-collapse: collapse; padding: 0px 15px;">
<p style="font-size: 17px; line-height: 1.2em; font-weight: 500; margin-top: 0.8em; margin-bottom: 0.8em;">⚡️&nbsp;Quick Releases</p>
 <ul class="nogap" style="margin-left: 0; padding-left: 18px; list-style-type: circle;">
  <li style="margin-bottom: 8px; line-height: 1.3em;"><a target="_blank" href="https://javascriptweekly.com/link/85728/web" style="text-decoration: none; color: #3366aa; font-weight: 600;">Vue 3.0.0 alpha 9</a></li>
  <li style="margin-bottom: 8px; line-height: 1.3em;">
<a target="_blank" href="https://javascriptweekly.com/link/85729/web" style="text-decoration: none; color: #3366aa; font-weight: 600;">Vuex 4.0 alpha 1</a> — Adds support for Vue 3.0 alpha.</li>
  <li style="margin-bottom: 8px; line-height: 1.3em;">
<a target="_blank" href="https://javascriptweekly.com/link/85730/web" style="text-decoration: none; color: #3366aa; font-weight: 600;">Tesseract.js 2.1</a> — Pure JavaScript OCR.</li>
  <li style="margin-bottom: 8px; line-height: 1.3em;">
<a target="_blank" href="https://javascriptweekly.com/link/85731/web" style="text-decoration: none; color: #3366aa; font-weight: 600;">Cypress 4.2.0</a> — Test anything that runs in a browser.</li>
  <li style="margin-bottom: 8px; line-height: 1.3em;">
<a target="_blank" href="https://javascriptweekly.com/link/85732/web" style="text-decoration: none; color: #3366aa; font-weight: 600;">Grunt 1.1</a> — Legacy task runner.</li>


    
    
</ul>
 
</td></tr></tbody></table>
</td></tr></tbody></table>
<table width="100%" cellpadding="0" cellspacing="0" class="el-heading" style="background-color: none !important; text-align: left; margin-top: 15px; color: #333333; mso-table-lspace: 0pt; mso-table-rspace: 0pt; border-collapse: collapse;"><tbody><tr><td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.55em; mso-table-lspace: 0pt; mso-table-rspace: 0pt; border-collapse: collapse; padding: 0;"><p style="font-size: 1.6em !important; font-weight: 400 !important; text-transform: none !important; line-height: 1.4em; display: inline-block; border-bottom-width: 6px; border-bottom-style: solid; padding-bottom: 2px; border-bottom-color: #f7df1e; margin: 0.5em 0;">💻 Jobs</p></td></tr></tbody></table>

<table width="100%" cellpadding="0" cellspacing="0" class="el-item item  " style="mso-table-lspace: 0pt; mso-table-rspace: 0pt; border-collapse: collapse;"><tbody><tr><td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.55em; mso-table-lspace: 0pt; mso-table-rspace: 0pt; border-collapse: collapse; padding: 0px 15px;">

<p class="desc" style="color: #444; margin-top: 0.8em; margin-bottom: 0;"><span style="font-weight: 600; font-size: 1.1em; color: #000;" class="mainlink"><a target="_blank" href="https://javascriptweekly.com/link/85697/web" title="jobs.lever.co" style="text-decoration: none; color: #3366aa; border-bottom-width: 1px !important; border-bottom-color: #ddd !important; border-bottom-style: solid !important; font-size: 1.05em;">UX/Frontend Engineer @ Siteline</a></span> — Join the founding engineering team at Siteline and help us revolutionize the payments process for construction.</p>
<p class="name" style="color: #5a5a5a; margin-top: 4px; margin-bottom: 0.8em; text-transform: uppercase; font-size: 12px; line-height: 1.2em;">Siteline </p>
</td></tr></tbody></table>

<table width="100%" cellpadding="0" cellspacing="0" class="el-item item  " style="mso-table-lspace: 0pt; mso-table-rspace: 0pt; border-collapse: collapse;"><tbody><tr><td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.55em; mso-table-lspace: 0pt; mso-table-rspace: 0pt; border-collapse: collapse; padding: 0px 15px;">

<p class="desc" style="color: #444; margin-top: 0.8em; margin-bottom: 0;"><span style="font-weight: 600; font-size: 1.1em; color: #000;" class="mainlink"><a target="_blank" href="https://javascriptweekly.com/link/85698/web" title="www.vettery.com" style="text-decoration: none; color: #3366aa; border-bottom-width: 1px !important; border-bottom-color: #ddd !important; border-bottom-style: solid !important; font-size: 1.05em;">Find a Dev Job Through Vettery</a></span> — Vettery is completely free for job seekers. Make a profile, name your salary, and connect with hiring managers from top employers.</p>
<p class="name" style="color: #5a5a5a; margin-top: 4px; margin-bottom: 0.8em; text-transform: uppercase; font-size: 12px; line-height: 1.2em;">Vettery </p>
</td></tr></tbody></table>
<table width="100%" cellpadding="0" cellspacing="0" class="el-heading" style="background-color: none !important; text-align: left; margin-top: 15px; color: #333333; mso-table-lspace: 0pt; mso-table-rspace: 0pt; border-collapse: collapse;"><tbody><tr><td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.55em; mso-table-lspace: 0pt; mso-table-rspace: 0pt; border-collapse: collapse; padding: 0;"><p style="font-size: 1.6em !important; font-weight: 400 !important; text-transform: none !important; line-height: 1.4em; display: inline-block; border-bottom-width: 6px; border-bottom-style: solid; padding-bottom: 2px; border-bottom-color: #f7df1e; margin: 0.5em 0;">📘 Articles &amp; Tutorials </p></td></tr></tbody></table>
<table width="100%" class="el-fullwidthimage" cellpadding="0" cellspacing="0" style="mso-table-lspace: 0pt; mso-table-rspace: 0pt; border-collapse: collapse;"><tbody><tr><td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.55em; mso-table-lspace: 0pt; mso-table-rspace: 0pt; border-collapse: collapse;">
<a target="_blank" href="https://javascriptweekly.com/link/85712/web" style="text-decoration: none; color: #3366aa;"><img src="https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60/fktpu5sy0e7forh8fwpv.jpg" alt="" width="640" style="outline: none; height: auto; text-decoration: none; max-width: 100%; line-height: 100%; width: 100%; border: 0;"></a>
</td></tr></tbody></table>
<table width="100%" cellpadding="0" cellspacing="0" style="mso-table-lspace: 0pt; mso-table-rspace: 0pt; border-collapse: collapse;"><tbody><tr><td style="height: 4px; font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.55em; mso-table-lspace: 0pt; mso-table-rspace: 0pt; border-collapse: collapse;"></td></tr></tbody></table>

<table width="100%" cellpadding="0" cellspacing="0" class="el-item item  " style="mso-table-lspace: 0pt; mso-table-rspace: 0pt; border-collapse: collapse;"><tbody><tr><td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.55em; mso-table-lspace: 0pt; mso-table-rspace: 0pt; border-collapse: collapse; padding: 0px 15px;">

<p class="desc" style="color: #444; margin-top: 0.8em; margin-bottom: 0;"><span style="font-weight: 600; font-size: 1.1em; color: #000;" class="mainlink"><a target="_blank" href="https://javascriptweekly.com/link/85712/web" title="observablehq.com" style="text-decoration: none; color: #3366aa; border-bottom-width: 1px !important; border-bottom-color: #ddd !important; border-bottom-style: solid !important; font-size: 1.05em;">An Interactive Introduction to AntV</a></span> — We recently linked to a neat <a target="_blank" href="https://javascriptweekly.com/link/85713/web" style="text-decoration: none; color: #3366aa; border-bottom-width: 1px !important; border-bottom-color: #ddd !important; border-bottom-style: solid !important;">interactive introduction to D3</a>, here’s something similar for <a target="_blank" href="https://javascriptweekly.com/link/85714/web" style="text-decoration: none; color: #3366aa; border-bottom-width: 1px !important; border-bottom-color: #ddd !important; border-bottom-style: solid !important;">AntV</a>, a data visualization toolset originally built for financial data. Worth a&nbsp;play.</p>
<p class="name" style="color: #5a5a5a; margin-top: 4px; margin-bottom: 0.8em; text-transform: uppercase; font-size: 12px; line-height: 1.2em;">Jiazhe Wang </p>
</td></tr></tbody></table>

<table width="100%" cellpadding="0" cellspacing="0" class="el-item item  " style="mso-table-lspace: 0pt; mso-table-rspace: 0pt; border-collapse: collapse;"><tbody><tr><td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.55em; mso-table-lspace: 0pt; mso-table-rspace: 0pt; border-collapse: collapse; padding: 0px 15px;">

<p class="desc" style="color: #444; margin-top: 0.8em; margin-bottom: 0;"><span style="font-weight: 600; font-size: 1.1em; color: #000;" class="mainlink"><a target="_blank" href="https://javascriptweekly.com/link/85715/web" title="www.smashingmagazine.com" style="text-decoration: none; color: #3366aa; border-bottom-width: 1px !important; border-bottom-color: #ddd !important; border-bottom-style: solid !important; font-size: 1.05em;">Implementing Infinite Scroll And Image Lazy Loading</a></span> — A tutorial on using the Intersection Observer API to implement infinite scrolling and image lazy loading in a functional React&nbsp;component.</p>
<p class="name" style="color: #5a5a5a; margin-top: 4px; margin-bottom: 0.8em; text-transform: uppercase; font-size: 12px; line-height: 1.2em;">Chidi Orji </p>
</td></tr></tbody></table>

<table width="100%" cellpadding="0" cellspacing="0" class="el-item item  " style="mso-table-lspace: 0pt; mso-table-rspace: 0pt; border-collapse: collapse;"><tbody><tr><td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.55em; mso-table-lspace: 0pt; mso-table-rspace: 0pt; border-collapse: collapse; padding: 0px 15px;">

<p class="desc" style="color: #444; margin-top: 0.8em; margin-bottom: 0;"><span style="font-weight: 600; font-size: 1.1em; color: #000;" class="mainlink"><a target="_blank" href="https://javascriptweekly.com/link/85701/web" title="wallabyjs.com" style="text-decoration: none; color: #3366aa; border-bottom-width: 1px !important; border-bottom-color: #ddd !important; border-bottom-style: solid !important; font-size: 1.05em;">A Much Faster Way to Debug Code Than with Breakpoints or console.log</a></span> — Move forward and backwards through your code to understand the conditions that led to a specific bug, view runtime values, edit-and-continue, and more.</p>
<p class="name" style="color: #5a5a5a; margin-top: 4px; margin-bottom: 0.8em; text-transform: uppercase; font-size: 12px; line-height: 1.2em;">Wallaby.js <span style="text-transform: uppercase; margin-left: 4px; font-size: 0.9em; border-radius: 2px; background-color: #fffcaa; color: #993 !important; padding: 1px 4px; border: 1px solid #eee455;" class="tag-sponsor">sponsor</span></p>
</td></tr></tbody></table>

<table width="100%" cellpadding="0" cellspacing="0" class="el-item item  " style="mso-table-lspace: 0pt; mso-table-rspace: 0pt; border-collapse: collapse;"><tbody><tr><td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.55em; mso-table-lspace: 0pt; mso-table-rspace: 0pt; border-collapse: collapse; padding: 0px 15px;">

<p class="desc" style="color: #444; margin-top: 0.8em; margin-bottom: 0;"><span style="font-weight: 600; font-size: 1.1em; color: #000;" class="mainlink"><a target="_blank" href="https://javascriptweekly.com/link/85716/web" title="www.arbazsiddiqui.me" style="text-decoration: none; color: #3366aa; border-bottom-width: 1px !important; border-bottom-color: #ddd !important; border-bottom-style: solid !important; font-size: 1.05em;">Some Real World Use Cases for JS Proxies</a></span> — <a target="_blank" href="https://javascriptweekly.com/link/85717/web" style="text-decoration: none; color: #3366aa; border-bottom-width: 1px !important; border-bottom-color: #ddd !important; border-bottom-style: solid !important;">Proxies</a> are far from a universally understood concept in the JavaScript world, so it might help to think about them in a context where you might use&nbsp;them.</p>
<p class="name" style="color: #5a5a5a; margin-top: 4px; margin-bottom: 0.8em; text-transform: uppercase; font-size: 12px; line-height: 1.2em;">Arbaz Siddiqui </p>
</td></tr></tbody></table>

<table width="100%" cellpadding="0" cellspacing="0" class="el-item item  " style="mso-table-lspace: 0pt; mso-table-rspace: 0pt; border-collapse: collapse;"><tbody><tr><td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.55em; mso-table-lspace: 0pt; mso-table-rspace: 0pt; border-collapse: collapse; padding: 0px 15px;">

<p class="desc" style="color: #444; margin-top: 0.8em; margin-bottom: 0;"><span style="font-weight: 600; font-size: 1.1em; color: #000;" class="mainlink"><a target="_blank" href="https://javascriptweekly.com/link/85718/web" title="davidwalsh.name" style="text-decoration: none; color: #3366aa; border-bottom-width: 1px !important; border-bottom-color: #ddd !important; border-bottom-style: solid !important; font-size: 1.05em;">How to Cancel a Fetch Request</a></span> — This looks at the new AbortController API which can help with one of the shortcomings of promises: That you can’t cancel a fetch&nbsp;request.</p>
<p class="name" style="color: #5a5a5a; margin-top: 4px; margin-bottom: 0.8em; text-transform: uppercase; font-size: 12px; line-height: 1.2em;">David Walsh </p>
</td></tr></tbody></table>

<table width="100%" cellpadding="0" cellspacing="0" class="el-item item  " style="mso-table-lspace: 0pt; mso-table-rspace: 0pt; border-collapse: collapse;"><tbody><tr><td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.55em; mso-table-lspace: 0pt; mso-table-rspace: 0pt; border-collapse: collapse; padding: 0px 15px;">

<p class="desc" style="color: #444; margin-top: 0.8em; margin-bottom: 0;"><span style="font-weight: 600; font-size: 1.1em; color: #000;" class="mainlink"><a target="_blank" href="https://javascriptweekly.com/link/85719/web" title="techblog.commercetools.com" style="text-decoration: none; color: #3366aa; border-bottom-width: 1px !important; border-bottom-color: #ddd !important; border-bottom-style: solid !important; font-size: 1.05em;">Five Practical Tips When Using React Hooks in Production</a></span></p>
<p class="name" style="color: #5a5a5a; margin-top: 4px; margin-bottom: 0.8em; text-transform: uppercase; font-size: 12px; line-height: 1.2em;">Tobias Deekens </p>
</td></tr></tbody></table>

<table width="100%" cellpadding="0" cellspacing="0" class="el-item item  " style="mso-table-lspace: 0pt; mso-table-rspace: 0pt; border-collapse: collapse;"><tbody><tr><td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.55em; mso-table-lspace: 0pt; mso-table-rspace: 0pt; border-collapse: collapse; padding: 0px 15px;">

<p class="desc" style="color: #444; margin-top: 0.8em; margin-bottom: 0;"><span style="font-weight: 600; font-size: 1.1em; color: #000;" class="mainlink"><a target="_blank" href="https://javascriptweekly.com/link/85702/web" title="buildkite.com" style="text-decoration: none; color: #3366aa; border-bottom-width: 1px !important; border-bottom-color: #ddd !important; border-bottom-style: solid !important; font-size: 1.05em;">Faster CI/CD for All Your Software Projects Using Buildkite</a></span></p>
<p class="name" style="color: #5a5a5a; margin-top: 4px; margin-bottom: 0.8em; text-transform: uppercase; font-size: 12px; line-height: 1.2em;">Buildkite <span style="text-transform: uppercase; margin-left: 4px; font-size: 0.9em; border-radius: 2px; background-color: #fffcaa; color: #993 !important; padding: 1px 4px; border: 1px solid #eee455;" class="tag-sponsor">sponsor</span></p>
</td></tr></tbody></table>

<table width="100%" cellpadding="0" cellspacing="0" class="el-item item  " style="mso-table-lspace: 0pt; mso-table-rspace: 0pt; border-collapse: collapse;"><tbody><tr><td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.55em; mso-table-lspace: 0pt; mso-table-rspace: 0pt; border-collapse: collapse; padding: 0px 15px;">

<p class="desc" style="color: #444; margin-top: 0.8em; margin-bottom: 0;"><span style="font-weight: 600; font-size: 1.1em; color: #000;" class="mainlink"><a target="_blank" href="https://javascriptweekly.com/link/85720/web" title="blog.logrocket.com" style="text-decoration: none; color: #3366aa; border-bottom-width: 1px !important; border-bottom-color: #ddd !important; border-bottom-style: solid !important; font-size: 1.05em;">Using Watchers for Form Input Validation in Vue.js</a></span> — The watch option in Vue.js offers a way to respond to data changes in a given element and perform form input&nbsp;validation.</p>
<p class="name" style="color: #5a5a5a; margin-top: 4px; margin-bottom: 0.8em; text-transform: uppercase; font-size: 12px; line-height: 1.2em;">Nwose Lotanna </p>
</td></tr></tbody></table>
<table width="100%" cellpadding="0" cellspacing="0" class="el-heading" style="background-color: none !important; text-align: left; margin-top: 15px; color: #333333; mso-table-lspace: 0pt; mso-table-rspace: 0pt; border-collapse: collapse;"><tbody><tr><td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.55em; mso-table-lspace: 0pt; mso-table-rspace: 0pt; border-collapse: collapse; padding: 0;"><p style="font-size: 1.6em !important; font-weight: 400 !important; text-transform: none !important; line-height: 1.4em; display: inline-block; border-bottom-width: 6px; border-bottom-style: solid; padding-bottom: 2px; border-bottom-color: #f7df1e; margin: 0.5em 0;">🔧 Code &amp; Tools</p></td></tr></tbody></table>

<table width="100%" cellpadding="0" cellspacing="0" class="el-item item  " style="mso-table-lspace: 0pt; mso-table-rspace: 0pt; border-collapse: collapse;"><tbody><tr><td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.55em; mso-table-lspace: 0pt; mso-table-rspace: 0pt; border-collapse: collapse; padding: 0px 15px;">

<p class="desc" style="color: #444; margin-top: 0.8em; margin-bottom: 0;"><span style="font-weight: 600; font-size: 1.1em; color: #000;" class="mainlink"><a target="_blank" href="https://javascriptweekly.com/link/85721/web" title="uppload.js.org" style="text-decoration: none; color: #3366aa; border-bottom-width: 1px !important; border-bottom-color: #ddd !important; border-bottom-style: solid !important; font-size: 1.05em;">Uppload: A 'Better' JavaScript Image Uploader</a></span> — Open source, highly customizable with 30+ plugins and can be used with any file uploading&nbsp;backend.</p>
<p class="name" style="color: #5a5a5a; margin-top: 4px; margin-bottom: 0.8em; text-transform: uppercase; font-size: 12px; line-height: 1.2em;">El Niño </p>
</td></tr></tbody></table>

<table width="100%" cellpadding="0" cellspacing="0" class="el-item item  " style="mso-table-lspace: 0pt; mso-table-rspace: 0pt; border-collapse: collapse;"><tbody><tr><td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.55em; mso-table-lspace: 0pt; mso-table-rspace: 0pt; border-collapse: collapse; padding: 0px 15px;">

<p class="desc" style="color: #444; margin-top: 0.8em; margin-bottom: 0;"><span style="font-weight: 600; font-size: 1.1em; color: #000;" class="mainlink"><a target="_blank" href="https://javascriptweekly.com/link/85722/web" title="github.com" style="text-decoration: none; color: #3366aa; border-bottom-width: 1px !important; border-bottom-color: #ddd !important; border-bottom-style: solid !important; font-size: 1.05em;">Heapify: The 'Fastest JavaScript Priority Queue Out There'</a></span> — It’s a bold claim, but there are some benchmarks, plus no dependencies and it’s well explained and documented&nbsp;too.</p>
<p class="name" style="color: #5a5a5a; margin-top: 4px; margin-bottom: 0.8em; text-transform: uppercase; font-size: 12px; line-height: 1.2em;">Lucio Paiva </p>
</td></tr></tbody></table>

<table width="100%" cellpadding="0" cellspacing="0" class="el-item item  " style="mso-table-lspace: 0pt; mso-table-rspace: 0pt; border-collapse: collapse;"><tbody><tr><td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.55em; mso-table-lspace: 0pt; mso-table-rspace: 0pt; border-collapse: collapse; padding: 0px 15px;">

<p class="desc" style="color: #444; margin-top: 0.8em; margin-bottom: 0;"><span style="font-weight: 600; font-size: 1.1em; color: #000;" class="mainlink"><a target="_blank" href="https://javascriptweekly.com/link/85723/web" title="www.truework.com" style="text-decoration: none; color: #3366aa; border-bottom-width: 1px !important; border-bottom-color: #ddd !important; border-bottom-style: solid !important; font-size: 1.05em;">Introducing Gretchen: Making <code style="font-family: menlo, monaco, &quot;Ubuntu Mono&quot;, courier, monospace; font-weight: normal; background-color: inherit;">fetch</code> Happen in TypeScript</a></span> — An introduction to <a target="_blank" href="https://javascriptweekly.com/link/85724/web" style="text-decoration: none; color: #3366aa; border-bottom-width: 1px !important; border-bottom-color: #ddd !important; border-bottom-style: solid !important;">Gretchen</a>, a modern, TypeScript-focused Fetch API&nbsp;abstraction.</p>
<p class="name" style="color: #5a5a5a; margin-top: 4px; margin-bottom: 0.8em; text-transform: uppercase; font-size: 12px; line-height: 1.2em;">Eric Bailey </p>
</td></tr></tbody></table>

<table width="100%" cellpadding="0" cellspacing="0" class="el-item item  " style="mso-table-lspace: 0pt; mso-table-rspace: 0pt; border-collapse: collapse;"><tbody><tr><td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.55em; mso-table-lspace: 0pt; mso-table-rspace: 0pt; border-collapse: collapse; padding: 0px 15px;">

<p class="desc" style="color: #444; margin-top: 0.8em; margin-bottom: 0;"><span style="font-weight: 600; font-size: 1.1em; color: #000;" class="mainlink"><a target="_blank" href="https://javascriptweekly.com/link/85700/web" title="getstream.io" style="text-decoration: none; color: #3366aa; border-bottom-width: 1px !important; border-bottom-color: #ddd !important; border-bottom-style: solid !important; font-size: 1.05em;">Stream Chat API &amp; JavaScript SDK for Custom Chat Apps</a></span> — Build real-time chat in less time. Rapidly ship in-app messaging with our highly reliable chat&nbsp;infrastructure.</p>
<p class="name" style="color: #5a5a5a; margin-top: 4px; margin-bottom: 0.8em; text-transform: uppercase; font-size: 12px; line-height: 1.2em;">Stream <span style="text-transform: uppercase; margin-left: 4px; font-size: 0.9em; border-radius: 2px; background-color: #fffcaa; color: #993 !important; padding: 1px 4px; border: 1px solid #eee455;" class="tag-sponsor">sponsor</span></p>
</td></tr></tbody></table>

<table width="100%" cellpadding="0" cellspacing="0" class="el-item item  " style="mso-table-lspace: 0pt; mso-table-rspace: 0pt; border-collapse: collapse;"><tbody><tr><td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.55em; mso-table-lspace: 0pt; mso-table-rspace: 0pt; border-collapse: collapse; padding: 0px 15px;">

<p class="desc" style="color: #444; margin-top: 0.8em; margin-bottom: 0;"><span style="font-weight: 600; font-size: 1.1em; color: #000;" class="mainlink"><a target="_blank" href="https://javascriptweekly.com/link/85733/web" title="atomiks.github.io" style="text-decoration: none; color: #3366aa; border-bottom-width: 1px !important; border-bottom-color: #ddd !important; border-bottom-style: solid !important; font-size: 1.05em;">Tippy.js 6.1: Highly Customizable Tooltip and Popover Library</a></span> — Accessible, easy to theme, fast on low-end devices, and TypeScript ready. Also a great example of a good project site/homepage. <a target="_blank" href="https://javascriptweekly.com/link/85734/web" style="text-decoration: none; color: #3366aa; border-bottom-width: 1px !important; border-bottom-color: #ddd !important; border-bottom-style: solid !important;">GitHub&nbsp;repo.</a></p>
<p class="name" style="color: #5a5a5a; margin-top: 4px; margin-bottom: 0.8em; text-transform: uppercase; font-size: 12px; line-height: 1.2em;">atomiks </p>
</td></tr></tbody></table>

<table width="100%" cellpadding="0" cellspacing="0" class="el-item item  " style="mso-table-lspace: 0pt; mso-table-rspace: 0pt; border-collapse: collapse;"><tbody><tr><td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.55em; mso-table-lspace: 0pt; mso-table-rspace: 0pt; border-collapse: collapse; padding: 0px 15px;">

<p class="desc" style="color: #444; margin-top: 0.8em; margin-bottom: 0;"><span style="font-weight: 600; font-size: 1.1em; color: #000;" class="mainlink"><a target="_blank" href="https://javascriptweekly.com/link/85725/web" title="github.com" style="text-decoration: none; color: #3366aa; border-bottom-width: 1px !important; border-bottom-color: #ddd !important; border-bottom-style: solid !important; font-size: 1.05em;">Seafox: A Fast Spec-Compliant JavaScript Parser Written in Typescript</a></span> — Generates AST according to the <a target="_blank" href="https://javascriptweekly.com/link/85726/web" style="text-decoration: none; color: #3366aa; border-bottom-width: 1px !important; border-bottom-color: #ddd !important; border-bottom-style: solid !important;">ESTree</a> AST format, and can be used to perform syntactic analysis of JavaScript&nbsp;code.</p>
<p class="name" style="color: #5a5a5a; margin-top: 4px; margin-bottom: 0.8em; text-transform: uppercase; font-size: 12px; line-height: 1.2em;">Kenny Flash </p>
</td></tr></tbody></table>
<table width="100%" cellpadding="0" cellspacing="0" style="mso-table-lspace: 0pt; mso-table-rspace: 0pt; border-collapse: collapse;"><tbody><tr><td style="height: 14px; font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.55em; mso-table-lspace: 0pt; mso-table-rspace: 0pt; border-collapse: collapse;"></td></tr></tbody></table>`

const REG_TARGET = /( target="[^"]+")/ig;
const REG_TBODY = /<(\/)?tbody>/ig;
const REG_TR = /<(\/)?tr>/ig;
const REG_NOTES = /<![^>]+->/ig;
const REG_N = /\n/g;

export default html.replace(REG_TBODY, '').replace(REG_TR, '').replace(/(td)/g, 'div').replace(REG_NOTES, '').replace(REG_TARGET, '').replace(REG_N, '').replace(/table/ig, 'div').replace(/( width="100%" cellpadding="0" cellspacing="0")/g, '').replace(/(amp;)/g, '').replace(/(&nbsp;)/g,' ')